VZX pingが飛ばない
問題文
Host01からHost02へのpingが飛びません。 ルーティング情報とかファイヤウォールは間違ってないと思うんですが・・・
トポロジ図

前提条件
Host01やRouterの既存の設定を削除してはならないHost02に問題はない
初期状態
- Host01からHost02への
pingができない
終了状態
- Host01からHost02への
pingができ、疎通ができる - Host01, Router を再起動しても、終了状態が維持される
初期状態のマシンの設定(抜粋)
Routerの初期状態の設定(展開できます)
firewall {
interface eth1 {
out {
name ETH1-OUT
}
}
name ETH1-OUT {
default-action drop
rule 10 {
action accept
protocol tcp
}
}
}
interfaces {
ethernet eth1 {
address 172.16.255.254/16
hw-id 9c:a3:ba:32:4a:e9
}
ethernet eth2 {
address 172.17.255.254/16
hw-id 9c:a3:ba:32:9d:b6
}
loopback lo {
}
}
Host01の初期状態の設定(展開できます)
interfaces {
ethernet eth1 {
address 172.16.0.1/16
hw-id 9c:a3:ba:32:03:7b
}
loopback lo {
}
}
protocols {
static {
}
}
解説
この問題は、2つのトラブルがありました。
- Host01からHost02のネットワークへのルーティング情報が消失していた
- Router上で
TCPのみ許可し、他のプロトコルは破棄する firewallがあった
ルーティング情報は、例えば172.17.0.0/16ネットワークへの静的ルートを追加してあげると良いでしょう。
firewallに関しては、 ping のプロトコル TCP ではなく ICMP なので、 新たに ICMP を許可するルールを追加してあげることで、問題を解決することができます。
コマンド
トラブルを解決するために必要なコマンドの例を紹介します。
Host01(VyOS)のconfigureで
set protocols static route 172.17.0.0/16 next-hop 172.16.255.254を打ち、Host01から172.17.0.0/16ネットワークへの経路を確保します。
続いて、Router(VyOS)のconfigureで
set firewall name ETH1-OUT rule 20 protocol icmp
set firewall name ETH1-OUT rule 20 action acceptを打ち、既存のfirewallに新たな icmp を許可(accept)するルールを追加します。
なお、設定後に
commit
saveを打ち、設定を適用・保存することを忘れないようにしましょう。
採点基準
- Host01からのルートを設定した +40% (20点)
- Routerでファイアウォールを適切に設定した +40% (20点)
- ping疎通が可能である+20% (10点)
- 以下、減点
- 永続化されていない(
saveを抜かして再起動時に設定が保持されない)- ホスト毎に -20%(-10点)
- 永続化されていない(